Actualmente estoy trabajando en un complemento que se basa en React y usa Redux para la administración del estado, usa webext-redux para sincronizar el estado entre los scripts de contenido y la página de fondo. La extensión funciona bastante bien en Google Chrome, sin embargo, en Firefox sigo encontrándome con este error cada vez que se encuentra una declaración store.dispatch() .
La mayoría de los hilos relacionados con el mensaje parecen estar desactualizados y Mozilla tampoco tiene la documentación adecuada (algunos enlaces conducen a páginas muertas). Entiendo que Mozilla intenta eliminar todas las referencias al DOM y, por lo tanto, cualquier referencia sólida termina arrojando ese error. He notado que generalmente arroja este error una vez que la ventana emergente se cierra y pierde su contexto, por así decirlo. Sin embargo, la página de fondo se conserva y debe estar ejecutándose en todo momento.
Lo que parece que no entiendo es cómo arreglar esto. Estoy en Firefox 94 en Ubuntu. A continuación hay un par de rastros de pila. ¡Gracias por tu ayuda!
Uncaught (in promise) TypeError: can't access dead object Redux 7 _detectMutations _detectMutations _detectMutations detectMutations createImmutableStateInvariantMiddleware measureTime createImmutableStateInvariantMiddleware Controller Controller.ts:230 _callee$ BackgroundProcessor.ts:149 Babel 10 promise callback*run index.js:16 earlyBound index.js:55 BackgroundProcessor BackgroundProcessor.ts:79 can't access dead object background.bundle.js line 11686 > eval:196 holdMessage ExtensionChild.jsm:239 sendPortMessage ExtensionChild.jsm:293 sendPortMessage self-hosted:1175 Redux 3 apply self-hosted:2715 applySafeWithoutClone ExtensionCommon.jsm:623 asyncWithoutClone ExtensionCommon.jsm:2409 Redux 7 _detectMutations _detectMutations _detectMutations detectMutations createImmutableStateInvariantMiddleware measureTime createImmutableStateInvariantMiddleware Controller Controller.ts:340 BackgroundProcessor BackgroundProcessor.ts:299 Las líneas en Controller son las declaraciones típicas store.dispatch(action) .